home *** CD-ROM | disk | FTP | other *** search
/ Whiteline: delta / whiteline CD Series - delta.iso / progtool / gnu / edmi1 / install.cmd < prev    next >
OS/2 REXX Batch file  |  1995-11-25  |  5KB  |  123 lines

  1. /***************************************************************************/
  2. /* This command file "installs" this issue of EDM/2 on your machine.       */
  3. /*                                                                         */
  4. /* Change history:                                                         */
  5. /*                                                                         */
  6. /* October 1993 - Initial release. (Version 1.00)                          */
  7. /* November 1993 - Completely rewritten by Gordon W. Zeglinski.            */
  8. /*                 Modularization and minor modifications made by Larry    */
  9. /*                 Salomon. (Version 2.00)                                 */
  10. /***************************************************************************/
  11.  
  12. /***************************************************************************/
  13. /* Load the RexxUtil functions                                             */
  14. /***************************************************************************/
  15. Call RxFuncAdd 'SysLoadFuncs', 'REXXUTIL', 'SysLoadFuncs'
  16. Call SysLoadFuncs
  17.  
  18. Say "EDM/2 Installation program  Version 2.00"
  19. Say
  20.  
  21. "@ECHO OFF"
  22. Parse Upper Arg VOLUME ISSUE
  23.  
  24. /***************************************************************************/
  25. /* Check for help and for default issue installation                       */
  26. /***************************************************************************/
  27. If VOLUME="?" Then Do
  28.    Say "Syntax:  INSTALL [volume issue]"
  29.    Say
  30.    Say "If not specified, this installs the current issue of EDM/2 in a"
  31.    Say "folder on your machine.  Explicitly specifying the volume and"
  32.    Say "issue is for reinstallation."
  33.    Exit 1
  34. End
  35.  
  36. If (VOLUME="") | (ISSUE="") Then Call SetVars
  37.  
  38. /***************************************************************************/
  39. /* Because version 1.00 did not set the object id, we want to avoid        */
  40. /* creating two folders with the same title, so set the folder title       */
  41. /* to something different, state the new folder title in the diagnostic    */
  42. /* message, and hope the users pick up on the change.                      */
  43. /***************************************************************************/
  44. FOLDERNAME="EDM/2 Issues"
  45.  
  46. Say "Attempting to install volume" VOLUME "issue" ISSUE "to folder '"|| ,
  47.    FOLDERNAME||"'."
  48.  
  49. /***************************************************************************/
  50. /* If the folder doesn't exist, create it.                                 */
  51. /***************************************************************************/
  52. If CheckFolder(FOLDERNAME)=0 Then Do
  53.    Say "EDM/2 folder did not exist and could not be created.  Stop."
  54.    Exit 2
  55. End
  56.  
  57. /***************************************************************************/
  58. /* Install the issue.  Note that we do not install the icon for the user.  */
  59. /***************************************************************************/
  60. If InstallIssue(VOLUME ISSUE)=0 Then Do
  61.    Say "The issue could not be installed in the EDM/2 folder.  Stop."
  62.    Exit 2
  63. End
  64.  
  65. Say "Installation was successful."
  66. Exit 0
  67.  
  68. CheckFolder:  Procedure
  69. /***************************************************************************/
  70. /* SysSetObjectData() relies on the fact that the folder was previously    */
  71. /* created with an object id of "EDM/2_FOLDER".  If this call fails, then  */
  72. /* we can assume that either 1) the folder doesn't exist or 2) that the    */
  73. /* folder does exist but was created with the original INSTALL.CMD .       */
  74. /***************************************************************************/
  75. Parse Arg FOLDERNAME
  76.  
  77. If SysSetObjectData("<EDM/2_FOLDER>"," ")=0 Then Do
  78.    Say "The EDM/2 folder was not found.  Attempting to create it."
  79.    Return SysCreateObject("WPFolder", ,
  80.                           FOLDERNAME, ,
  81.                           "<WP_DESKTOP>", ,
  82.                           "OBJECTID=<EDM/2_FOLDER>")
  83. End
  84.  
  85. Return 1
  86.  
  87. InstallIssue:  Procedure
  88. Parse Arg VOLUME ISSUE .
  89.  
  90. /***************************************************************************/
  91. /* Determine the current directory.  Why the hell is there a SysMkDir()    */
  92. /* and a SysRmDir() but no SysQueryCurrentDir() (or something like         */
  93. /* that)???                                                                */
  94. /***************************************************************************/
  95. "CD > INSTALL.TMP"
  96. Call Stream "INSTALL.TMP","c","OPEN"
  97. CURDIR=Linein("INSTALL.TMP")
  98. Call Stream "INSTALL.TMP","c","CLOSE"
  99. "DEL INSTALL.TMP"
  100.  
  101. Parse Upper Value CURDIR With CURDIR
  102.  
  103. ISSUEFILE=CURDIR||"\EDMI"||VOLUME||"-"||ISSUE||".INF"
  104. ICONFILE=CURDIR||"\EDMI"||VOLUME||"-"||ISSUE||".INF"
  105.  
  106. PRGOPTION="PROGTYPE=PM;EXENAME=VIEW.EXE;PARAMETERS="||ISSUEFILE||";"
  107. PRGOPTION=PRGOPTION||"ICONFILE="||ICONFILE
  108.  
  109. Return SysCreateObject("WPProgram", ,
  110.                        "Volume" VOLUME "issue" ISSUE, ,
  111.                        "<EDM/2_FOLDER>", ,
  112.                        PRGOPTION, ,
  113.                        "REPLACE")
  114.  
  115. SetVars:
  116. /*****************************************************************************/
  117. /* This function sets the VOLUME and ISSUE variables used by the rest of the */
  118. /* program and is generated by 'newissue.cmd'                                */
  119. /*****************************************************************************/
  120. VOLUME=1
  121. ISSUE=6
  122. Return
  123. ə